<template>
  <h1>vue3</h1>
</template>

<script lang="ts">
/*
  生命周期函数：
    1. 创建阶段
      beforeCreate
        绑定全局事件总线对象$bus（vue2）
        vue3删除$on\$off\$once三个方法
      created
    2. 挂载阶段
      beforeMount
      **mounted**
        发送请求、设置定时器等异步任务。

        为什么请求在mounted发送？
          mounted不阻塞渲染
          mounted能操作DOM元素

    3. 更新阶段
      beforeUpdate
      updated
    4. 卸载/销毁阶段
      **beforeDestroy(vue2)**
      destroyed(vue2)

      **beforeUnmount(vue3)**
        解绑事件，清除定时器等收尾工作（防止内存泄漏）
      unmounted(vue3)

    5. 扩展
      被keep-alive缓存的组件，多两个生命周期
        activated 激活
        deactivated 失效

      errorCaptured 捕获后代组件的错误的
*/
export default {
  name: "App",
};
</script>

<style scoped></style>
